//package com.paypalpay.util.pay;
//
//import com.paypalpay.entity.common.UserboundPaymentOrder;
//import com.paypalpay.service.InternationalPayPackageService;
//import com.paypalpay.service.UserboundPaymentOrderService;
//import org.apache.log4j.Logger;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
//
//import javax.annotation.Resource;
//import javax.servlet.http.HttpSession;
//@Component
//public class PaymentRequestParameterUtil {
//    private static Logger logger = Logger.getLogger(PaymentRequestParameterUtil.class);
//
//    @Autowired
//    private HttpSession session;
//
//    @Resource
//    private UserboundPaymentOrderService userboundPaymentOrderService;
//    @Autowired
//    private InternationalPayPackageService internationalPayPackageService;
//
//    /*****
//     * 微信支付和paypal支付支付前参数上发处理
//     * @param deviceId
//     * @param deviceType
//     * @param openId
//     * @param paymentOrderId
//     * @param partnerCode
//     * @param packageCode
//     * @param temOrderId
//     * @param orderPeriod
//     * @param amount
//     * @param currency_code
//     * @param orderId
//     */
//    public void processingParameter(String deviceId, String deviceType, String openId, String paymentOrderId, String partnerCode, String packageCode, String temOrderId, String amount, String currency_code,
//                                    String orderId, String orderPeriod,String orderUnit, String isOpen, String payType) {
//
//        System.out.println("paymentOrderId是什么多少：" + paymentOrderId);
//        System.out.println("orderId是什么多少：" + orderId);
//        System.out.println("temOrderId到底是什么鬼：" + temOrderId);
//        System.out.println("orderPeriod是什么多少：" + orderPeriod);
//        System.out.println("amount是什么多少：" + amount);
//
//        if (openId == null || openId.length() <= 0 || deviceId == null || deviceId.length() <= 0) {
//            // 参数不全
//            System.out.println("参数不全！");
//        } else {
//            // 根据packageCode去查询一下当前用户购买的套餐名称，并且插入到数据库
//            String packageName = "";
//            System.out.println("packageCode是什么多少：" + packageCode);
//            if (packageCode.contains(",") == true) {
//                // 此情况说明packageCode有多个套餐
//                String[] str = packageCode.split(",");
//                for (int i = 0; i < str.length; i++) {
//                    String home = str[i];
//                    packageName += userboundPaymentOrderService.getPackageNameByPackageCode(home) + ",";
//                    System.out.println("取到的套餐名称：" + packageName);
//                }
//            } else {
//                packageName = userboundPaymentOrderService.getPackageNameByPackageCode(packageCode);
//                System.out.println("取到的套餐名称：" + packageName);
//            }
//            // 判断一下：openId和orderId同时存在时是有卡用户，没有orderId的是无卡用户
//            if (!orderId.equals("") && !"undefined".equals(orderId)) {
//                // 说明上来的有orderId
//                if (!temOrderId.equals("") && !"undefined".equals(temOrderId)) {
//                    // 还上来了temOrderId，此时是要强行走无卡流程
//                    // 有orderId，有temOrderId，有openid，只要有temOrderId，肯定不会是非微信用户访问的
//                    System.out.println("orderId不为空，temOrderId也不为空，openid也不为空，强行走无卡流程！");
//                    UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                    paymentOrder.setPartnerCode(partnerCode);
//                    paymentOrder.setPackageCode(packageCode);
//                    paymentOrder.setPackageName(packageName);
//                    paymentOrder.setPaymentOrderId(paymentOrderId);
//                    paymentOrder.setOpenId(openId);
//                    paymentOrder.setAmount(amount);
//                    paymentOrder.setOrderPeriod(orderPeriod);
//                    paymentOrder.setOrderUnit(orderUnit);
//                    paymentOrder.setIsOpen(isOpen);
//                    paymentOrder.setPayType(payType);
//                    paymentOrder.setOrderCurrency(currency_code);
//                    paymentOrder.setTemOrderId(temOrderId);
//                    // 根据收到的openId去更新数据表，此时iccid为null
//                    userboundPaymentOrderService.updateUserboundPaymentOrderNoCard(paymentOrder);
//
//                } else {
//                    if (!openId.equals("")) {
//                        //就是openid不为空的时候就是微信用户访问
//                        // 有卡orderId不为空，temOrderId为空
//                        System.out.println("orderId不为空，temOrderId为空，标准有卡流程！");
//                        UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                        paymentOrder.setPartnerCode(partnerCode);
//                        paymentOrder.setPackageCode(packageCode);
//                        paymentOrder.setPackageName(packageName);
//                        paymentOrder.setPaymentOrderId(paymentOrderId);
//                        paymentOrder.setOrderId(orderId);
//                        paymentOrder.setOpenId(openId);
//                        paymentOrder.setAmount(amount);
//                        paymentOrder.setOrderPeriod(orderPeriod);
//                        paymentOrder.setOrderUnit(orderUnit);
//                        paymentOrder.setIsOpen(isOpen);
//                        paymentOrder.setPayType(payType);
//                        paymentOrder.setOrderCurrency(currency_code);
//                        // 根据收到的openId去更新数据表，iccid此时是有的，所以不能为null
//                        userboundPaymentOrderService.updateUserboundWeixinPaymentOrder(paymentOrder);
//                    } else {
//                        //非微信用户访问
//                        // 有卡orderId不为空，temOrderId为空，openid为空
//                        System.out.println("orderId不为空，temOrderId为空，标准有卡流程！");
//                        UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                        paymentOrder.setPartnerCode(partnerCode);
//                        paymentOrder.setPackageCode(packageCode);
//                        paymentOrder.setPackageName(packageName);
//                        paymentOrder.setPaymentOrderId(paymentOrderId);
//                        paymentOrder.setOrderId(orderId);
//                        paymentOrder.setDeviceId(deviceId);
//                        paymentOrder.setAmount(amount);
//                        paymentOrder.setOrderPeriod(orderPeriod);
//                        paymentOrder.setOrderUnit(orderUnit);
//                        paymentOrder.setIsOpen(isOpen);
//                        paymentOrder.setPayType(payType);
//                        paymentOrder.setOrderCurrency(currency_code);
//                        // 根据收到的deviceId去更新数据表，deviceId此时是有的，所以不能为null,openid为空
//                        userboundPaymentOrderService.updateUserboundNotWeixinPaymentOrder(paymentOrder);
//                    }
//                }
//
//            } else {
//                // 无卡，没有orderId，deviceId为空，temOrderId不为空
//                if (!temOrderId.equals("") && !"undefined".equals(temOrderId)) {
//                    System.out.println("orderId为空，temOrderId不为空，标准无卡流程！");
//                    UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                    paymentOrder.setPartnerCode(partnerCode);
//                    paymentOrder.setPackageCode(packageCode);
//                    paymentOrder.setPackageName(packageName);
//                    paymentOrder.setPaymentOrderId(paymentOrderId);
//                    paymentOrder.setOpenId(openId);
//                    paymentOrder.setAmount(amount);
//                    paymentOrder.setOrderPeriod(orderPeriod);
//                    paymentOrder.setOrderUnit(orderUnit);
//                    paymentOrder.setIsOpen(isOpen);
//                    paymentOrder.setPayType(payType);
//                    paymentOrder.setTemOrderId(temOrderId);
//                    paymentOrder.setOrderCurrency(currency_code);
//                    // 根据收到的openId去更新数据表，此时deviceId为null
//                    userboundPaymentOrderService.updateUserboundPaymentOrderNoCard(paymentOrder);
//                }
//
//
//            }
//
//        }
//    }
//
//    /***
//     * 钱海支付上报肯定是非微信访问，所以openid肯定是空的
//     * @param deviceId
//     * @param deviceType
//     * @param openId
//     * @param paymentOrderId
//     * @param partnerCode
//     * @param packageCode
//     * @param temOrderId
//     * @param orderPeriod
//     * @param orderAmount
//     * @param orderCurrency
//     * @param orderNumber
//     * @param billingFirstName
//     * @param billingLastName
//     * @param billingEmail
//     * @param billingPhone
//     * @param billingCountry
//     * @param billingCity
//     * @param billingAddress
//     * @param billingZip
//     */
//    public void processingOceanpayParameter(String deviceId, String deviceType, String openId, String paymentOrderId, String partnerCode, String packageCode,
//                                            String temOrderId, String orderPeriod, String orderAmount, String orderCurrency, String orderNumber, String billingFirstName,
//                                            String billingLastName, String billingEmail, String billingPhone, String billingCountry, String billingCity, String billingAddress, String billingZip) {
//        if (deviceId == null || deviceId.length() <= 0 || orderNumber == null || orderNumber.length() <= 0) {
//            // 参数不全
//            System.out.println("参数不全！");
//
//        } else {
//            // 根据packageCode去查询一下当前用户购买的套餐名称，并且插入到数据库
//            String packageName = "";
//            System.out.println("packageCode是什么多少：" + packageCode);
//            if (packageCode.contains(",") == true) {
//                // 此情况说明packageCode有多个套餐
//                String[] str = packageCode.split(",");
//                for (int i = 0; i < str.length; i++) {
//                    String home = str[i];
//                    packageName += userboundPaymentOrderService.getPackageNameByPackageCode(home) + ",";
//                    System.out.println("取到的套餐名称：" + packageName);
//                }
//            } else {
//                packageName = userboundPaymentOrderService.getPackageNameByPackageCode(packageCode);
//                System.out.println("取到的套餐名称：" + packageName);
//            }
//            // 判断一下：openId和orderId同时存在时是有卡用户，没有orderId的是无卡用户
//            if (!orderNumber.equals("") && !"undefined".equals(orderNumber)) {
//                //非微信用户访问
//                // 有卡orderId不为空，temOrderId为空，openid为空
//                System.out.println("orderId不为空，temOrderId为空，标准有卡流程！");
//                UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                paymentOrder.setDeviceId(deviceId);
//                paymentOrder.setDeviceType(deviceType);
//                paymentOrder.setPaymentOrderId(paymentOrderId);
//                paymentOrder.setPartnerCode(partnerCode);
//                paymentOrder.setPackageCode(packageCode);
//                paymentOrder.setPackageName(packageName);
//                paymentOrder.setOrderPeriod(orderPeriod);
//                paymentOrder.setOrderId(orderNumber);
//                paymentOrder.setAmount(orderAmount);
//                paymentOrder.setOrderCurrency(orderCurrency);
//                paymentOrder.setBillingFirstName(billingFirstName);
//                paymentOrder.setBillingLastName(billingLastName);
//                paymentOrder.setBillingEmail(billingEmail);
//                paymentOrder.setBillingPhone(billingPhone);
//                paymentOrder.setBillingCountry(billingCountry);
//                paymentOrder.setBillingCity(billingCity);
//                paymentOrder.setBillingAddress(billingAddress);
//                paymentOrder.setBillingZip(billingZip);
//
//                // 根据收到的deviceId去更新数据表，deviceId此时是有的，所以不能为null,openid为空
//                userboundPaymentOrderService.updateUserboundOceanPaymentOrder(paymentOrder);
//
//            }
//
//        }
//
//    }
//
//    public void processingPaypalParameter(String deviceId, String deviceType, String paymentOrderId, String partnerCode, String packageCode, String orderPeriod, String amount, String currency_code, String orderId, String orderUnit, String isOpen, String payType) {
//
//        if (deviceId == null || deviceId.length() <= 0 || orderId == null || orderId.length() <= 0) {
//            // 参数不全
//            System.out.println("参数不全！");
//
//        } else {
//            // 根据packageCode去查询一下当前用户购买的套餐名称，并且插入到数据库
//            String packageName = "";
//            System.out.println("packageCode是什么多少：" + packageCode);
//            if (packageCode.contains(",") == true) {
//                // 此情况说明packageCode有多个套餐
//                String[] str = packageCode.split(",");
//                for (int i = 0; i < str.length; i++) {
//                    String home = str[i];
//                    packageName += userboundPaymentOrderService.getPackageNameBypackages(home) + ",";
//                    System.out.println("取到的套餐名称：" + packageName);
//                }
//            } else {
//                System.out.println("开始取name");
//                //根据前面得到的code去数据库查询name
//                packageName = internationalPayPackageService.getPackageNameBypackageCode(packageCode);
//                System.out.println("套餐名称取到的是什么：" + packageName);
//
//                //packageName = userboundPaymentOrderService.getPackageNameByPackageCode(packageCode);
//                //packageName="香港流量套餐";
//                System.out.println("取到的套餐名称：" + packageName);
//            }
//
//            if(!orderId.equals("")&&!"undefined".equals(orderId)){
//                //paypal支付当然是非微信用户访问
//                System.out.println("paypal支付支付前入库！");
//                UserboundPaymentOrder paymentOrder = new UserboundPaymentOrder();
//                paymentOrder.setPartnerCode(partnerCode);
//                paymentOrder.setPackageCode(packageCode);
//                paymentOrder.setPackageName(packageName);
//                paymentOrder.setPaymentOrderId(paymentOrderId);
//                paymentOrder.setOrderId(orderId);
//                paymentOrder.setDeviceId(deviceId);
//                paymentOrder.setAmount(amount);
//                paymentOrder.setOrderPeriod(orderPeriod);
//                paymentOrder.setOrderUnit(orderUnit);
//                paymentOrder.setIsOpen(isOpen);
//                paymentOrder.setPayType(payType);
//                paymentOrder.setOrderCurrency(currency_code);
//                // 根据收到的deviceId去更新数据表，deviceId此时是有的，所以不能为null,openid为空
//                userboundPaymentOrderService.updateUserboundNotWeixinPaymentOrder(paymentOrder);
//
//            }
//        }
//    }
//}
